le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
isZero(0) → true
isZero(s(x)) → false
mod(x, y) → if_mod(isZero(y), le(y, x), x, y, minus(x, y))
if_mod(true, b, x, y, z) → divByZeroError
if_mod(false, false, x, y, z) → x
if_mod(false, true, x, y, z) → mod(z, y)
↳ QTRS
↳ Overlay + Local Confluence
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
isZero(0) → true
isZero(s(x)) → false
mod(x, y) → if_mod(isZero(y), le(y, x), x, y, minus(x, y))
if_mod(true, b, x, y, z) → divByZeroError
if_mod(false, false, x, y, z) → x
if_mod(false, true, x, y, z) → mod(z, y)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
isZero(0) → true
isZero(s(x)) → false
mod(x, y) → if_mod(isZero(y), le(y, x), x, y, minus(x, y))
if_mod(true, b, x, y, z) → divByZeroError
if_mod(false, false, x, y, z) → x
if_mod(false, true, x, y, z) → mod(z, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
MOD(x, y) → MINUS(x, y)
MOD(x, y) → LE(y, x)
MINUS(s(x), s(y)) → MINUS(x, y)
MOD(x, y) → ISZERO(y)
MOD(x, y) → IF_MOD(isZero(y), le(y, x), x, y, minus(x, y))
IF_MOD(false, true, x, y, z) → MOD(z, y)
LE(s(x), s(y)) → LE(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
isZero(0) → true
isZero(s(x)) → false
mod(x, y) → if_mod(isZero(y), le(y, x), x, y, minus(x, y))
if_mod(true, b, x, y, z) → divByZeroError
if_mod(false, false, x, y, z) → x
if_mod(false, true, x, y, z) → mod(z, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
MOD(x, y) → MINUS(x, y)
MOD(x, y) → LE(y, x)
MINUS(s(x), s(y)) → MINUS(x, y)
MOD(x, y) → ISZERO(y)
MOD(x, y) → IF_MOD(isZero(y), le(y, x), x, y, minus(x, y))
IF_MOD(false, true, x, y, z) → MOD(z, y)
LE(s(x), s(y)) → LE(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
isZero(0) → true
isZero(s(x)) → false
mod(x, y) → if_mod(isZero(y), le(y, x), x, y, minus(x, y))
if_mod(true, b, x, y, z) → divByZeroError
if_mod(false, false, x, y, z) → x
if_mod(false, true, x, y, z) → mod(z, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
isZero(0) → true
isZero(s(x)) → false
mod(x, y) → if_mod(isZero(y), le(y, x), x, y, minus(x, y))
if_mod(true, b, x, y, z) → divByZeroError
if_mod(false, false, x, y, z) → x
if_mod(false, true, x, y, z) → mod(z, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
MINUS(s(x), s(y)) → MINUS(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
isZero(0) → true
isZero(s(x)) → false
mod(x, y) → if_mod(isZero(y), le(y, x), x, y, minus(x, y))
if_mod(true, b, x, y, z) → divByZeroError
if_mod(false, false, x, y, z) → x
if_mod(false, true, x, y, z) → mod(z, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
LE(s(x), s(y)) → LE(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
MOD(x, y) → IF_MOD(isZero(y), le(y, x), x, y, minus(x, y))
IF_MOD(false, true, x, y, z) → MOD(z, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
isZero(0) → true
isZero(s(x)) → false
mod(x, y) → if_mod(isZero(y), le(y, x), x, y, minus(x, y))
if_mod(true, b, x, y, z) → divByZeroError
if_mod(false, false, x, y, z) → x
if_mod(false, true, x, y, z) → mod(z, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
MOD(x, y) → IF_MOD(isZero(y), le(y, x), x, y, minus(x, y))
IF_MOD(false, true, x, y, z) → MOD(z, y)
isZero(0) → true
isZero(s(x)) → false
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
mod(x0, x1)
if_mod(true, x0, x1, x2, x3)
if_mod(false, false, x0, x1, x2)
if_mod(false, true, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
MOD(x, y) → IF_MOD(isZero(y), le(y, x), x, y, minus(x, y))
IF_MOD(false, true, x, y, z) → MOD(z, y)
isZero(0) → true
isZero(s(x)) → false
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
MOD(y0, 0) → IF_MOD(true, le(0, y0), y0, 0, minus(y0, 0))
MOD(y0, s(x0)) → IF_MOD(false, le(s(x0), y0), y0, s(x0), minus(y0, s(x0)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MOD(y0, 0) → IF_MOD(true, le(0, y0), y0, 0, minus(y0, 0))
MOD(y0, s(x0)) → IF_MOD(false, le(s(x0), y0), y0, s(x0), minus(y0, s(x0)))
IF_MOD(false, true, x, y, z) → MOD(z, y)
isZero(0) → true
isZero(s(x)) → false
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
MOD(y0, s(x0)) → IF_MOD(false, le(s(x0), y0), y0, s(x0), minus(y0, s(x0)))
IF_MOD(false, true, x, y, z) → MOD(z, y)
isZero(0) → true
isZero(s(x)) → false
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(x, 0) → x
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
MOD(y0, s(x0)) → IF_MOD(false, le(s(x0), y0), y0, s(x0), minus(y0, s(x0)))
IF_MOD(false, true, x, y, z) → MOD(z, y)
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
isZero(0)
isZero(s(x0))
isZero(0)
isZero(s(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
MOD(y0, s(x0)) → IF_MOD(false, le(s(x0), y0), y0, s(x0), minus(y0, s(x0)))
IF_MOD(false, true, x, y, z) → MOD(z, y)
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
MOD(0, s(x0)) → IF_MOD(false, false, 0, s(x0), minus(0, s(x0)))
MOD(s(x1), s(x0)) → IF_MOD(false, le(x0, x1), s(x1), s(x0), minus(s(x1), s(x0)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MOD(0, s(x0)) → IF_MOD(false, false, 0, s(x0), minus(0, s(x0)))
IF_MOD(false, true, x, y, z) → MOD(z, y)
MOD(s(x1), s(x0)) → IF_MOD(false, le(x0, x1), s(x1), s(x0), minus(s(x1), s(x0)))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
IF_MOD(false, true, x, y, z) → MOD(z, y)
MOD(s(x1), s(x0)) → IF_MOD(false, le(x0, x1), s(x1), s(x0), minus(s(x1), s(x0)))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
MOD(s(x0), s(x1)) → IF_MOD(false, le(x1, x0), s(x0), s(x1), minus(x0, x1))
MOD(s(y0), s(y0)) → IF_MOD(false, le(y0, y0), s(y0), s(y0), 0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Instantiation
MOD(s(x0), s(x1)) → IF_MOD(false, le(x1, x0), s(x0), s(x1), minus(x0, x1))
MOD(s(y0), s(y0)) → IF_MOD(false, le(y0, y0), s(y0), s(y0), 0)
IF_MOD(false, true, x, y, z) → MOD(z, y)
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
IF_MOD(false, true, s(z0), s(z1), y_1) → MOD(y_1, s(z1))
IF_MOD(false, true, s(z0), s(z0), 0) → MOD(0, s(z0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
MOD(s(x0), s(x1)) → IF_MOD(false, le(x1, x0), s(x0), s(x1), minus(x0, x1))
MOD(s(y0), s(y0)) → IF_MOD(false, le(y0, y0), s(y0), s(y0), 0)
IF_MOD(false, true, s(z0), s(z1), y_1) → MOD(y_1, s(z1))
IF_MOD(false, true, s(z0), s(z0), 0) → MOD(0, s(z0))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
MOD(s(x0), s(x1)) → IF_MOD(false, le(x1, x0), s(x0), s(x1), minus(x0, x1))
MOD(s(y0), s(y0)) → IF_MOD(false, le(y0, y0), s(y0), s(y0), 0)
IF_MOD(false, true, s(z0), s(z1), y_1) → MOD(y_1, s(z1))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
IF_MOD(false, true, s(x0), s(x1), s(y_0)) → MOD(s(y_0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ DependencyGraphProof
IF_MOD(false, true, s(x0), s(x1), s(y_0)) → MOD(s(y_0), s(x1))
MOD(s(x0), s(x1)) → IF_MOD(false, le(x1, x0), s(x0), s(x1), minus(x0, x1))
MOD(s(y0), s(y0)) → IF_MOD(false, le(y0, y0), s(y0), s(y0), 0)
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
IF_MOD(false, true, s(x0), s(x1), s(y_0)) → MOD(s(y_0), s(x1))
MOD(s(x0), s(x1)) → IF_MOD(false, le(x1, x0), s(x0), s(x1), minus(x0, x1))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MOD(s(x0), s(x1)) → IF_MOD(false, le(x1, x0), s(x0), s(x1), minus(x0, x1))
Used ordering: Polynomial interpretation [25]:
IF_MOD(false, true, s(x0), s(x1), s(y_0)) → MOD(s(y_0), s(x1))
POL(0) = 0
POL(IF_MOD(x1, x2, x3, x4, x5)) = x5
POL(MOD(x1, x2)) = x1
POL(false) = 0
POL(le(x1, x2)) = 0
POL(minus(x1, x2)) = x1
POL(s(x1)) = 1 + x1
POL(true) = 0
minus(0, x) → 0
minus(x, x) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
IF_MOD(false, true, s(x0), s(x1), s(y_0)) → MOD(s(y_0), s(x1))
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(x, x) → 0
minus(0, x) → 0
minus(s(x), s(y)) → minus(x, y)
minus(x, 0) → x
le(0, y) → true
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(x0, x0)
minus(x0, 0)
minus(0, x0)
minus(s(x0), s(x1))